package br.gov.mi.corporativo.dominio.boundary.rhmi.tipounidadeestrutura;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import br.gov.mi.corporativo.dominio.boundary.rhmi.tipounidadeestrutura.TipoUnidadeEstruturaEndPoint;
import br.gov.mi.corporativo.dominio.entidade.rhmi.TipoUnidadeEstrutura;

@Path("tiposunidadeestrutura")
public class TipoUnidadeEstruturaRestAdapter extends SpringBeanAutowiringSupport {
	
	@Autowired
	private TipoUnidadeEstruturaEndPoint service;
	
	
	@GET
	@Produces({MediaType.APPLICATION_JSON})
	public Iterable<TipoUnidadeEstrutura> recuperarTodos(){
		return service.recuperarTodos();
		
	}
	
	@GET
	@Path("id/{idTipoUnidadeEstrutura}")
	@Produces({MediaType.APPLICATION_JSON})
	public TipoUnidadeEstrutura recuperarPorIdTipoUnidadeEstrutura(@PathParam("idTipoUnidadeEstrutura")Long idTipoUnidadeEstrutura){
		return service.recuperarPorIdTipoUnidadeEstrutura(idTipoUnidadeEstrutura);
	}
	
	@GET
	@Path("numerotipo/{nmTipoUnidadeEstrutura}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<TipoUnidadeEstrutura> recuperarPorNmTipoUnidadeEstrutura(@PathParam("nmTipoUnidadeEstrutura")String nmTipoUnidadeEstrutura){
		return service.recuperarPorNmTipoUnidadeEstrutura(nmTipoUnidadeEstrutura);
	}
	
	@GET
	@Path("ordem/{nrOrdem}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<TipoUnidadeEstrutura> recuperarPorNrOrdem(@PathParam("nrOrdem")Long nrOrdem){
		return service.recuperarPorNrOrdem(nrOrdem);
	}
	
	@GET
	@Path("stativo/{stAtivo}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<TipoUnidadeEstrutura> recuperarPorStAtivo(@PathParam("stAtivo")String stAtivo){
		return service.recuperarPorStAtivo(stAtivo);
	}
	
	
}
